1. Field of the Invention
The present invention relates to a correlator for determining correlation properties providing a measure of similarity or mutual dependency between two functions, a spread spectrum communications system receiver using this correlator and to a synchronous tracking apparatus for pseudo-noise codes used in reverse spread processing performed when obtaining a data signal from a received signal.
2. Description of the Related Art
The parts of a spread spectrum communicator which differ clearly from other radio communicators are the initial acquisition apparatus and tracking apparatus provided in the receiving portion. Spread spectrum communication is widely known, but a simple explanation follows.
In the transmission portion of a spread spectrum communicator, spread processing is carried out in which a data signal is multiplied by a pseudo-noise code for transmitting. In the reception portion, reverse spread processing is carried out in which a receive signal is multiplied by a pseudo-noise code for receiving. The pseudo-noise codes used in the spread processing and reverse spread processing are identical and a data signal is played back at the reception portion only when they are have the same phase. Identical codes are used since the pseudo-noise code to be used can be decided in advance by the communicating parties. However, in order to obtain the same phase, a pseudo-noise code generated for receiving at the receiving side must be adjusted to match the pseudo-noise code for transmitting contained in the transmission signal which must be continuously tracked at all times. This process of acquisition is called "initial synchronization or initial acquisition" and the tracking process is called "synchronous tracking".
The basic configuration of a delay-lock loop generally used as a synchrony tracking apparatus is here shown in FIG. 35. The operation of this delay-lock loop will next be explained. In FIG. 35, 1 is an input terminal, 2.about.4 are multipliers, 5 and 6 are integrators, 7 and 8 are correlators, 9 is a pseudo-noise code generator for receiving, 10 is a voltage control oscillator, 11 is a calculator and 12 is an output terminal.
A signal inputted to input terminal 1 is a data signal which has been multiplied by a pseudo-noise code for transmitting and spread processed. This data signal can be an analog signal or a digital signal, but usually a signal to which some kind of primary modulation has been carried out is used. However, the presence of a data signal complicates the understanding of the operation in an explanation of the tracking apparatus and so in order to simplify the explanation, it is here assumed that the receive signal is only a pseudo-noise code for transmitting.
A pseudo-noise code for transmitting inputted to the input terminal 1 is inputted to the multipliers 2.about.4 and multiplied with a pseudo-noise code outputted from the pseudo-noise code generator 9 for receiving (generator 9). The three pseudo-noise codes 9a.about.9c outputted from the pseudo-noise code generator 9 for receiving which have different phase relations as shown in FIGS. 36(a)-(c). The pseudo-noise codes used here are M-sequence codes obtained from a 3.sup.rd -order primitive polynomial in which the time of 1 cycle length is expressed as T and the time of 1 chip as .DELTA.. There are two kinds of M-sequence codes obtained from a 3.sup.rd -order primitive polynomial, one of which is shown here as an example. FIGS. 36(a)-(c) depict a phase relation wherein phases are each delayed sequentially by one chip.
Delay discriminating properties of a synchronous tracking apparatus will next be explained. Delay discriminating properties are expressed as a change in amplitude value related with time-lag and time-lag is achieved from changes in amplitude value by using such properties. Delay discriminating properties are obtained from a composite of two correlation properties. These two correlation properties are produced by correlators 7 and 8. Though they are widely known, correlation properties will be explained before an explanation of correlators 7 and 8.
A correlation property is expressed with a correlation function; mathematically explained, it is giving the measure of similarity or mutual dependency between a function f1 (t) and a function f2 (t) which functionally expresses the deviation of one function to the other. If the deviation is expressed as a parameter .tau., this correlation function R21 is defined with equation (1): ##EQU1## In other words, while varying the time of function f1 (t) against function f2 (t) as a reference, both functions are multiplied and integrated. A correlation function obtained when function f1 (t) and function f2 (t) are the same is called an auto-correlation function and a correlation property obtained when said functions are different is called a cross-correlation function.
To obtain a concrete form of equation 1, the functions f1 (t) and f2 (t) are expressed as signals, the signals are input. In FIG. 35, the signals are deemed as pseudo-noise codes and a correlation value is obtained by integrating both pseudo-noise code multiplication results over a period of 1 cycle length.
Correlator 7 consists of a multiplier 3 and an integrator 5; correlator 8 consists of a multiplier 4 and an integrator 6. Correlation properties are obtained from correlators 7 and 8 and a delay discriminating property is obtained by a synthesis of these correlation properties. This process will be explained. As FIGS. 36(a)-36(c) show, the only difference between correlator 7 and correlator 8 is the phase relation between the pseudo-noise codes respectively inputted to multipliers 3 and 4. In other words, identical correlation curves are merely being obtained in different time axes. The correlation curve obtained with correlator 7 will first be explained.
A pseudo-noise code inputted to input terminal 1 and a pseudo-noise code outputted from pseudo-noise code generator 9 for receiving are inputted to the multiplier 3 of correlator 7. Since one of these input signals is a receive signal and the other is a signal generated at a receiver, their respective frequencies inevitably differ until synchrony is tracked. This is not the same as if the phase of one of two signals having equal frequency were to be shifted. Let us therefore investigate the waveforms of both signals and the multiplication result when the phase difference of a pseudo-noise code outputted from pseudo-noise code generator 9 for receiving is shifted with respect to a pseudo-noise code inputted to input terminal 1. This is shown in FIG. 37.
FIGS. 37 (a).about.(e) respectively show pseudo-noise codes when the phase difference of a pseudo-noise code outputted from pseudo-noise code generator 9 for receiving is +.DELTA., +.DELTA./2, 0, -.DELTA./2 and -.DELTA., with a pseudo-noise code inputted to input terminal 1 as a reference, and the multiplication results thereof. The signal waveform shown at A is a pseudo-noise code inputted to input terminal 1, the signal waveform shown at B is a pseudo-noise code outputted from pseudo-noise code generator 9 for receiving and the signal waveform shown at C is an output signal from multiplier 3. In other words, the signal waveform shown at B corresponds to the signal inputted to the multiplier 3 shown in FIG. 36 (c). Further, the amplitude values of the signal waveform shown at A to C in FIG. 37 is set to .+-.1.
Since the correlation value is an integration over 1 cycle length of the waveform shown at C, it is equivalent to the multiplication result period -1 subtracted from period 1 and the division of this result over 1 cycle length T. For instance in (a), period 1 is 3.DELTA., period -1 is 4.DELTA. and therefore (3.DELTA.-4.DELTA.)/T=(3.DELTA.-4.DELTA.)/7.DELTA.=-1/7. In (b), (5.DELTA.-2.DELTA.)/7.DELTA.=3/7 and in (c), (7.DELTA.-0.DELTA.)/7.DELTA.=1.
The above analysis used representative values for phase difference between two pseudo-noise codes, but essentially phase difference is varied continuously to determine correlation curves. This is shown in FIG. 38 in which the horizontal axis shows phase difference .tau. between 2 pseudo-noise codes and the vertical axis shows correlation value Rss (r). This curve reveals that the maximum correlation value is attained when the phase difference between 2 pseudo-noise codes is 0 and minimum correlation value is attained during the regions where .tau..ltoreq.-.DELTA. and .DELTA..ltoreq..tau.. Furthermore, it can be seen that this curve is symmetrical on both sides with respect to a correlation value axis in which phase difference is 0.
The maximum and minimum values of this correlation curve can also be determined from the following general equations: ##EQU2##
Here, k is a degree of a pseudo-noise code primitive polynomial, n is the number of chips and n=2.sup.k -1.
Having understood the correlation curve, let us now examine the phase relation of the pseudo-noise codes in FIGS. 36(a)-36(c), which shows a phase relation between pseudo-noise codes outputted from the pseudo-noise code generator 9 for receiving. Taking FIG. 36(b) as a reference, the pseudo-noise code in FIG. 36(a) the phase of which has advanced by 1.DELTA. is inputted to multiplier 4 of correlator 8 and pseudo-noise code in FIG. 36(c) the phase of which is delayed by 1.DELTA. is inputted to multiplier 3 of correlator 7. The correlation curves obtained here are shown respectively in FIGS. 39 and 40.
Calculator 11 subtracts the output of correlator 8 from the output of correlator 7; i.e. the FIG. 39 curve is subtracted from the FIG. 40 to obtain a curve such as that shown in FIG. 41. This curve is asymmetrical on both sides with respect to a correlation value axis in which the phase difference between 2 pseudo-noise codes is 0.
Let us assume here that a correlation value of 4/7 is detected from the output of calculator 11 and determine a phase difference from this correlation value. A correlation value of 4/7 would give two phase differences at the points P1 and P2 shown in FIG. 41. Phase difference at P1 is -.DELTA./2 and phase difference at P2 is -3.DELTA./4. Although it is not possible here to assess whether the phase difference between the codes is -.DELTA./2 or -3.DELTA./4, we can assess that phase difference is shifting in one direction. In other words, the phase shift direction (time shift direction) can be assessed from the correlation value (the output voltage of calculator 11). Once the phase shift direction has been assessed, the phase direction can be controlled based on this assessment. This curved depicted in FIG. 41 is termed a delay discriminating curve.
Having obtained a delay discriminating curve, the operation of a tracking loop will next be explained. The delay discriminating curve obtained from the output of calculator 11 is used subsequently to control the voltage control oscillator 10. The property of the voltage control oscillator 10 is here set as shown in FIG. 42. The horizontal axis in FIG. 42 is input voltage and the vertical axis is output frequency. Therefore, if the value of the input voltage provided to the voltage control oscillator 10 is increased, the oscillating frequency of the output signal also increases; conversely, if the input voltage value is lowered, the output signal oscillating frequency decreases. In addition, the free-run frequency outputted when the input control voltage is 0 is set at a frequency fo equal to the chip speed of the pseudo-noise code for transmitting.
By setting in this way, output frequency of the voltage control oscillator 10 can be controlled in compliance with the delay discriminating curve (the output voltage of calculator 11). An output signal of the voltage control oscillator 10 controlled in this way is subsequently inputted to the pseudo-noise code generator 9 for receiving. If this pseudo-noise code generator 9 for receiving comprises a linear feedback shift register (LFSR), an output signal of the voltage control oscillator 10 is inputted as a clock signal to drive the LFSR. By inputting a clock signal to the LFSR, a pseudo-noise code in which 1 chip is equal to 1 cycle length of this clock signal can be created. This process is well known and need not be explained here. As a result, a pseudo-noise code with a chip speed in compliance with an oscillating frequency outputted from the voltage control oscillator 10 can be created.
A tracking apparatus formed from the above configuration will next be examined with the assumption that the phase difference between a pseudo-noise code for transmitting inputted to input terminal 1 and a pseudo-noise code for receiving outputted from the pseudo-noise code generator 9 for receiving was -.DELTA..
A reading of the correlation value when phase difference is -.DELTA. in the delay discriminating curve shown in FIG. 41 gives a value of 8/7. The voltage control oscillator 10 outputs an oscillating frequency in compliance with this correlation value. Since voltage control oscillator 10 has a free-run frequency of fo, this oscillating frequency increases when a correlation value of 8/7 is applied thereto. Let us assume that the oscillating frequency here is fo+.alpha.. As a result, the pseudo-noise code generator 9 for receiving creates a pseudo-noise code with a clock signal of fo+.alpha. and the chip speed of the code created is also fo+.alpha..
Since the free-run frequency fo of the voltage control oscillator 10 has been set to match the chip speed of the pseudo-noise code for transmitting as explained above, in comparison with the frequency of the pseudo-noise code for transmitting, the frequency of the pseudo-noise code for receiving increases by .alpha. only. In other words, the frequency of the pseudo-noise code depicted at B in FIG. 37 (e) increases in comparison with the pseudo-noise code depicted at A. Viewed in terms of phase, this is equivalent to an advance in the phase of the pseudo-noise code at B. Consequently, the correlation value gradually decreases as phase difference approaches 0 in line with the delay discriminating curve in FIG. 41.
Conversely, let us examine a case in which phase difference is +.DELTA.. The correlation value here is -8/7 and the oscillating frequency outputted from the voltage control oscillator 10 decreases to less than the free-run frequency fo. If we assume that the frequency here is fo-.alpha., the chip speed of the pseudo-noise code for receiving becomes fo-.alpha. and in comparison with the frequency of the pseudo-noise code for transmitting, the frequency of the pseudo-noise code for receiving decreases by a only. In other words, the frequency of the pseudo-noise code depicted at B decreases in comparison with the pseudo-noise code depicted at A in FIG. 37 (a). Viewed in terms of phase, this is equivalent to a delay in the phase of the pseudo-noise code at B. Consequently, the correlation value gradually increases as phase difference approaches 0 in line with the delay discriminating curve in FIG. 41.
In other words, feedback control is executed so that the phase difference created between a pseudo-noise code for transmitting and a pseudo-noise code for receiving is 0. A delay discriminating curve is formed by combining correlation curves obtained on different time axes and is created by 2 pseudo-noise codes with a phase relation such as that shown at in FIGS. 36(a) and (c). Thus if a pseudo-noise code in FIG. 36(b) positioned exactly between these 2 pseudo-noise codes is created on the receiving side, a pseudo-noise code for receiving which is already phase-synchronized to the pseudo-noise code for transmitting can be obtained.
One of the multiplier 2 input signals is a pseudo-noise code for transmitting inputted to input terminal 1 and the other signal is the pseudo-noise code for receiving the code in FIG. 36(b) outputted from the pseudo-noise code generator 9 for receiving; the signal outputted from multiplier 2 is therefore a data signal which has been reverse spread processed and this is then led to output terminal 12.
The above explanation related to a synchronous tracking apparatus used in a conventional spread spectrum receiver and a delay discriminating curve described here was obtained by multiplying a pseudo-noise code phase-advanced by 1 chip with respect to a pseudo-noise code in which phase conformed to tracking and a pseudo-noise code phase-delayed by 1 chip with respect to the conformed code by a receive signal. In other words, the phase difference between 2 pseudo-noise codes required to obtain the delay discriminating curve was 2 chips. A delay discriminator for creating this curve is generally referred to as a 2.DELTA.DD (Delay-Discriminator) but there is also a delay discriminator referred to as a 1.DELTA.DD in which sensitivity toward the time axis (phase difference axis) has been raised.
While a 2.DELTA.DD del.about.y discriminating curve exhibits an S-shaped curve in the region where phase difference is -2.DELTA..about.2.DELTA. as FIG. 41 shows, 1.DELTA.DD exhibits an S-shaped curve in the region from -.DELTA..about..DELTA.. The lines cutting the correlation value axis where phase difference 0 reveal that the slope of the 1.DELTA.DD curve is twice that of the 2.DELTA.DD curve which shows that the 1.DELTA.DD tracking performance is superior.
Thus a synchronous tracking apparatus used in a spread spectrum communications system receiver creates 2 correlation curves on different time axes, obtains a delay discriminating curve having an S-shape curve with respect to a time axis (phase difference) by merging the 2 correlation curves and thereby enables tracking to be carried out. However, this tracking apparatus has an extremely serious drawback.
Namely, the signal line (from the receiver input signal to the reverse spectrum spread signal output terminal) for obtaining a desired data signal and the tracking loop are independent of each other. This will be explained using FIG. 35. First, a receive signal inputted to input terminal 1 branches into three signals which are inputted to multipliers 2.about.4. Of these, a delay discriminating curve required for tracking is created from the receive signals inputted to multipliers 3 and 4. If the circuit is operating ideally, the phases between the 3 pseudo-noise codes outputted from the pseudo-noise code generator 9 for receiving will be equally spaced and the phase of a pseudo-noise code outputted from multiplier 2 will match the phase of the pseudo-noise code contained in the receive signal which has branched into three and inputted to multiplier 2.
However, in practice it is extremely difficult to ensure that the circuit operates ideally. For instance, circuit elements vary according to manufacture and there may conceivably be phase deviation between the 3 pseudo-noise codes outputted from pseudo-noise code generator 9 for receiving. FIGS. 43(a)-(c) show this. FIGS. 43(a)-(c) are three pseudo-noise codes outputted from the pseudo-noise code generator 9 for receiving in a case in which the phase of FIG. 36(c) is delayed with respect to FIG. 36(b) by .DELTA.-.alpha.. The resulting correlation curve is depicted in FIG. 44. P indicates the point at which correlation value is 0, but phase difference here is not 0. Since the tracking loop performs phase-aligning to produce a correlation value of 0, a phase error of .alpha./2 occurs between the receive signal and pseudo-noise code (2). The pseudo-noise code contained in the receive signal and the pseudo-noise code outputted from the pseudonoise code generator 9 for receiving are multiplied at multiplier 2 with the fixed phase offset between them unremedied. As a consequence, an unnecessarily high frequency noise is appended to the data signal outputted from output terminal 12, rendering it a data signal of poor quality.
In order to deal with this phase error, the phase error needs to be detected somehow from the data signal derived from output terminal 12 and feedback must be applied to the tracking loop. However, such feedback control is not possible and at present no tracking apparatus capable of feedback control has been developed.
The reasons why feedback control is not possible will next be explained. The tracking apparatus itself operates two correlators on different time axes and creates a delay discriminating curve by combining the correlation curves thereby obtained. Since there is only one multiplier for the output terminal 12 at which the data signal is obtained, even if an integrator is provided after this multiplier and included in the configuration of the correlator, a delay discriminating curve cannot be created because only one correlation curve is obtained. A possible solution would seem to be somehow forcing the phase difference to 0 using a single correlator.
However, as FIG. 38 shows, a correlator curve is symmetrical on both sides with respect to a correlation value axis in which the phase difference between two pseudo-noise codes is 0. With the curve in FIG. 38, if the correlation value is 1 it can be assessed that phase difference is 0. When the correlation value is 3/7, it is not possible to judge whether phase difference is -.DELTA./2 or +.DELTA./2. In other words, phase control cannot be executed since the direction of the phase error cannot be assessed. There is also the problem that 3 pseudo-noise codes with different phases must be created at the receiving side. There is interference between pseudo-noise codes which are created with 1-chip phase differences and with a limited transmission cable capacity this can cause jumping to other circuits.
In addition, there is the problem that an LFSR must be operated at double clock speed in order to obtain a 1.DELTA.DD delay discriminating curve using an LFSR. This is because only a 1-chip phase difference between codes can be extracted from the LFSR and therefore it is not possible to create pseudo-noise codes with a phase difference of .DELTA./2 required for reverse spread spectrum processing. Nevertheless, a 1.DELTA.DD curve can be obtained from pseudo-noise codes at the same chip speed generated using the same LFSR. A 1 chip phase difference is halved by creating pseudo-noise codes at double clock speed. Since this doubles the speed of the pseudo-noise codes, their speed is halved before inputting them to the delay discriminator.
This problem cannot be solved simply by doubling clock speed. For instance, when a high process gain (spread with a pseudo-noise code having an extremely high speed in comparison with the data amount) system is to be operated in a high frequency band, the clock speed of the LFSR must of course be increased. In actual fact, the clock speed is limited by the response speed of the circuit elements and it is extremely difficult to double this speed in a frequency band near the speed limitation. If the system is given priority regardless of these limitations, it will be necessary to use highly expensive elements.
Following on from the above-mentioned problems, when a tracking apparatus is to be configured as an integrated circuit, a double clock signal must be routed around between the circuits. Considering the probability of interference and jumping between cables, a high frequency signal would be disadvantageous.